Skip to main content

Arrow Functions

Arrow functions are a different way to write functions - they are more compact, but slightly more limited.

Here are some key differences:

  • Arrow functions should not be used as methods since they do not have their own bindings to this, arguments or super.

  • Arrow functions can't use the keyword new.target.

  • Arrow functions can't use call, apply and bind methods.

  • Arrow functions can't be used as constructors.

  • Arrow functions can't use yield in it's body.

Let's have an example comparing the syntax of normal function declaration versus arrow functions:

info

When there exists multiple (or 0) arguments, one must wrap the arguments in parentheses for an arrow function.

An important syntax requirement of arrow functions is to also wrap the function body if there are more than 1 statements:

Overall the steps to creating an arrow function given a function are:

  • 1) Remove the word function and place arrows between the arguments first body bracket

  • 2) Remove the body brackets (unless there's additional lines of processing) and remove the word return

  • 3) Remove the argument's parantheses (unless theres multiple or none).

tip

Arrow functions are important to understand primarily because so many people use them!

More details regarding them are here: Arrow Functions - MDN